Barcodes provide an optical machine-readable representation of data. Typical barcode technologies may encode data in just one or two dimensions, and may require the barcode to be in a specific orientation and/or position in order to recognize and decode the barcode.